﻿//-------------------------------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2011 , JamSoft TECH, Ltd .
//-------------------------------------------------------------------------------------
using System;
using System.Data;
using System.Web.UI;
using System.Configuration;
using System.Web.UI.WebControls;

// 本系统生成的类库
using DotNet.Utilities;
using DotNet.Business;

/// <remarks>
/// LeftMenu
/// 左侧导航菜单
/// 
/// 修改纪录
/// 
///	版本：1.0 2011.08.26 LiangMingMing  创建代码。 
/// <author>
///		<name>LiangMingMing</name>
///		<date>2011.08.26</date>
/// </author> 
/// </remarks>
public partial class LeftMenu : BasePage
{
    // **********************************************************************************************
    // *                                                                                            * 
    // *                             Public Variate    公共变量                                     *
    // *                                                                                            * 
    // **********************************************************************************************

    /// <summary>
    /// 菜单生成字符串
    /// </summary>
    public string MenuList = string.Empty;
    /// <summary>
    /// 模块编号
    /// </summary>
    private string ModuleCode = ConfigurationManager.AppSettings["RootMenuCode"];//string.Empty;

    // **********************************************************************************************
    // *                                                                                            * 
    // *                             InitializeComponent  初始化                                    * 
    // *                                                                                            * 
    // **********************************************************************************************

    #region private void PageOnLoad() 加载页面
    /// <summary>
    /// 加载页面
    /// </summary>
    private void PageOnLoad()
    {
        // 获取参数
        this.GetParamter();
        // 加载菜单
        this.LoadMenu();
    }
    #endregion

    // **********************************************************************************************
    // *                                                                                            * 
    // *                                       Method   操作方法                                    * 
    // *                                                                                            * 
    // **********************************************************************************************

    #region private void GetParamter() 读取参数
    /// <summary>
    /// 读取参数
    /// </summary>
    private void GetParamter()
    {
        if (Page.Request["ModuleCode"] != null)
        {
            this.ModuleCode = Page.Request["ModuleCode"].ToString();
        }
    }
    #endregion

    #region private void LoadMenu() 加载菜单
    /// <summary>
    /// 加载菜单
    /// </summary>
    private void LoadMenu()
    {
        if (String.IsNullOrEmpty(this.ModuleCode))
        {
            return;
        }
        string parentId = BaseBusinessLogic.GetProperty(this.DTModule, BaseModuleEntity.FieldCode, this.ModuleCode, BaseModuleEntity.FieldId);
        this.LoadMenu(parentId);
    }
    #endregion

    #region private void LoadMenu(string parentId) 加载菜单
    /// <summary>
    /// 加载菜单
    /// </summary>
    /// <param name="parentId">菜单父级主键</param>
    private void LoadMenu(string parentId)
    {
        // 判断是否为空
        if (String.IsNullOrEmpty(parentId))
        {
            // 返回
            return;
        }
        // 删除的，不能出来了才可以
        DataRow[] dataRows = this.DTModule.Select(BaseModuleEntity.FieldParentId + "='" + parentId + "'", BaseModuleEntity.FieldSortCode);
        this.MenuList = "<menu>";
        // 设置导航的名称用数字来表示（简单省事）
        int i = 0;
        foreach (DataRow dataRow in dataRows)
        {            
            // 逐个加载
            this.MenuList += "<menubar id=\"" + i.ToString() + "\" levelid=\"" + dataRow[BaseModuleEntity.FieldId].ToString() + "\" icon=\"" + dataRow[BaseModuleEntity.FieldImageIndex].ToString() + "\" name=\"" + dataRow[BaseModuleEntity.FieldFullName].ToString() + "\"></menubar>";
            // 自动加一
            i++;
        }
        this.MenuList += "</menu>";
    }
    #endregion

    // **********************************************************************************************
    // *                                                                                            * 
    // *                                       EventArgs    事件方法                                * 
    // *                                                                                            * 
    // ********************************************************************************************** 

    #region protected void Page_Load(object sender, EventArgs e) 加载页面
    /// <summary>
    /// 加载页面
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        // 加载页面
        this.PageOnLoad();
    }
    #endregion

}